
#region Using Statements

    using System;
    using System.Collections.Generic;
    using System.Linq;

    using Microsoft.Xna.Framework;
    using Microsoft.Xna.Framework.Graphics;
    using Microsoft.Xna.Framework.Content.Pipeline;
    using Microsoft.Xna.Framework.Content.Pipeline.Graphics;
    using Microsoft.Xna.Framework.Content.Pipeline.Processors;

#endregion


namespace HumanElement.Xna.Construct.ContentPipeline
{
    using TInput = System.Xml.Linq.XDocument;
    using TOutput = HumanElement.Xna.Construct.ContentPipeline.SurfaceContent;


    /// <summary>
    /// This class will be instantiated by the XNA Framework Content Pipeline
    /// to apply custom processing to content data, converting an object of
    /// type TInput to TOutput. The input and output types may be the same if
    /// the processor wishes to alter data without changing its type.
    /// </summary>
    [ContentProcessor(DisplayName = "RenderMonkey Surface Content Processor")]
    public class RenderMonkeyProcessor : ContentProcessor<TInput, TOutput>
    {
        public override TOutput Process(TInput input, ContentProcessorContext context)
        {
            var surface = default(TOutput);

            // TODO: Create SurfaceContent from XDocument here...

            return surface;
        }
    }
}